package org.openarchitectureware.recipe2.dsl.contentassist.antlr.internal; 

import java.io.InputStream;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.xtext.parsetree.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.ui.common.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
import org.openarchitectureware.recipe2.dsl.services.RecipeBuilderGrammarAccess;



import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

public class InternalRecipeBuilderParser extends AbstractInternalContentAssistParser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_ID", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'import'", "'required-plugin'", "'re-export'", "'version'", "'predefs-template-package'", "'predef-template'", "'plugin-template'"
    };
    public static final int RULE_ML_COMMENT=7;
    public static final int RULE_ID=5;
    public static final int RULE_WS=9;
    public static final int EOF=-1;
    public static final int RULE_INT=6;
    public static final int RULE_STRING=4;
    public static final int RULE_ANY_OTHER=10;
    public static final int RULE_SL_COMMENT=8;

        public InternalRecipeBuilderParser(TokenStream input) {
            super(input);
        }
        

    public String[] getTokenNames() { return tokenNames; }
    public String getGrammarFileName() { return "../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g"; }


     
     	private RecipeBuilderGrammarAccess grammarAccess;
     	
        public void setGrammarAccess(RecipeBuilderGrammarAccess grammarAccess) {
        	this.grammarAccess = grammarAccess;
        }
        
        @Override
        protected Grammar getGrammar() {
        	return grammarAccess.getGrammar();
        }




    // $ANTLR start entryRuleRecipeBuilderModel
    // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:55:1: entryRuleRecipeBuilderModel : ruleRecipeBuilderModel EOF ;
    public final void entryRuleRecipeBuilderModel() throws RecognitionException {
        try {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:55:29: ( ruleRecipeBuilderModel EOF )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:56:1: ruleRecipeBuilderModel EOF
            {
             before(grammarAccess.getRecipeBuilderModelRule()); 
            pushFollow(FOLLOW_ruleRecipeBuilderModel_in_entryRuleRecipeBuilderModel60);
            ruleRecipeBuilderModel();
            _fsp--;

             after(grammarAccess.getRecipeBuilderModelRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleRecipeBuilderModel67); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleRecipeBuilderModel


    // $ANTLR start ruleRecipeBuilderModel
    // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:63:1: ruleRecipeBuilderModel : ( ( rule__RecipeBuilderModel__Group ) ) ;
    public final void ruleRecipeBuilderModel() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:67:2: ( ( ( rule__RecipeBuilderModel__Group ) ) )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:68:1: ( ( rule__RecipeBuilderModel__Group ) )
            {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:68:1: ( ( rule__RecipeBuilderModel__Group ) )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:69:1: ( rule__RecipeBuilderModel__Group )
            {
             before(grammarAccess.getRecipeBuilderModelAccess().getGroup()); 
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:70:1: ( rule__RecipeBuilderModel__Group )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:70:2: rule__RecipeBuilderModel__Group
            {
            pushFollow(FOLLOW_rule__RecipeBuilderModel__Group_in_ruleRecipeBuilderModel94);
            rule__RecipeBuilderModel__Group();
            _fsp--;


            }

             after(grammarAccess.getRecipeBuilderModelAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleRecipeBuilderModel


    // $ANTLR start entryRuleImport
    // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:81:1: entryRuleImport : ruleImport EOF ;
    public final void entryRuleImport() throws RecognitionException {
        try {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:81:17: ( ruleImport EOF )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:82:1: ruleImport EOF
            {
             before(grammarAccess.getImportRule()); 
            pushFollow(FOLLOW_ruleImport_in_entryRuleImport119);
            ruleImport();
            _fsp--;

             after(grammarAccess.getImportRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleImport126); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleImport


    // $ANTLR start ruleImport
    // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:89:1: ruleImport : ( ( rule__Import__Group ) ) ;
    public final void ruleImport() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:93:2: ( ( ( rule__Import__Group ) ) )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:94:1: ( ( rule__Import__Group ) )
            {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:94:1: ( ( rule__Import__Group ) )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:95:1: ( rule__Import__Group )
            {
             before(grammarAccess.getImportAccess().getGroup()); 
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:96:1: ( rule__Import__Group )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:96:2: rule__Import__Group
            {
            pushFollow(FOLLOW_rule__Import__Group_in_ruleImport153);
            rule__Import__Group();
            _fsp--;


            }

             after(grammarAccess.getImportAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleImport


    // $ANTLR start entryRulePluginImport
    // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:107:1: entryRulePluginImport : rulePluginImport EOF ;
    public final void entryRulePluginImport() throws RecognitionException {
        try {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:107:23: ( rulePluginImport EOF )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:108:1: rulePluginImport EOF
            {
             before(grammarAccess.getPluginImportRule()); 
            pushFollow(FOLLOW_rulePluginImport_in_entryRulePluginImport178);
            rulePluginImport();
            _fsp--;

             after(grammarAccess.getPluginImportRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRulePluginImport185); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRulePluginImport


    // $ANTLR start rulePluginImport
    // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:115:1: rulePluginImport : ( ( rule__PluginImport__Group ) ) ;
    public final void rulePluginImport() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:119:2: ( ( ( rule__PluginImport__Group ) ) )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:120:1: ( ( rule__PluginImport__Group ) )
            {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:120:1: ( ( rule__PluginImport__Group ) )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:121:1: ( rule__PluginImport__Group )
            {
             before(grammarAccess.getPluginImportAccess().getGroup()); 
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:122:1: ( rule__PluginImport__Group )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:122:2: rule__PluginImport__Group
            {
            pushFollow(FOLLOW_rule__PluginImport__Group_in_rulePluginImport212);
            rule__PluginImport__Group();
            _fsp--;


            }

             after(grammarAccess.getPluginImportAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rulePluginImport


    // $ANTLR start entryRulePredefTemplatePackage
    // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:133:1: entryRulePredefTemplatePackage : rulePredefTemplatePackage EOF ;
    public final void entryRulePredefTemplatePackage() throws RecognitionException {
        try {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:133:32: ( rulePredefTemplatePackage EOF )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:134:1: rulePredefTemplatePackage EOF
            {
             before(grammarAccess.getPredefTemplatePackageRule()); 
            pushFollow(FOLLOW_rulePredefTemplatePackage_in_entryRulePredefTemplatePackage237);
            rulePredefTemplatePackage();
            _fsp--;

             after(grammarAccess.getPredefTemplatePackageRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRulePredefTemplatePackage244); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRulePredefTemplatePackage


    // $ANTLR start rulePredefTemplatePackage
    // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:141:1: rulePredefTemplatePackage : ( ( rule__PredefTemplatePackage__Group ) ) ;
    public final void rulePredefTemplatePackage() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:145:2: ( ( ( rule__PredefTemplatePackage__Group ) ) )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:146:1: ( ( rule__PredefTemplatePackage__Group ) )
            {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:146:1: ( ( rule__PredefTemplatePackage__Group ) )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:147:1: ( rule__PredefTemplatePackage__Group )
            {
             before(grammarAccess.getPredefTemplatePackageAccess().getGroup()); 
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:148:1: ( rule__PredefTemplatePackage__Group )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:148:2: rule__PredefTemplatePackage__Group
            {
            pushFollow(FOLLOW_rule__PredefTemplatePackage__Group_in_rulePredefTemplatePackage271);
            rule__PredefTemplatePackage__Group();
            _fsp--;


            }

             after(grammarAccess.getPredefTemplatePackageAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rulePredefTemplatePackage


    // $ANTLR start entryRulePredefTemplate
    // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:161:1: entryRulePredefTemplate : rulePredefTemplate EOF ;
    public final void entryRulePredefTemplate() throws RecognitionException {
        try {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:161:25: ( rulePredefTemplate EOF )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:162:1: rulePredefTemplate EOF
            {
             before(grammarAccess.getPredefTemplateRule()); 
            pushFollow(FOLLOW_rulePredefTemplate_in_entryRulePredefTemplate298);
            rulePredefTemplate();
            _fsp--;

             after(grammarAccess.getPredefTemplateRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRulePredefTemplate305); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRulePredefTemplate


    // $ANTLR start rulePredefTemplate
    // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:169:1: rulePredefTemplate : ( ( rule__PredefTemplate__Group ) ) ;
    public final void rulePredefTemplate() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:173:2: ( ( ( rule__PredefTemplate__Group ) ) )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:174:1: ( ( rule__PredefTemplate__Group ) )
            {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:174:1: ( ( rule__PredefTemplate__Group ) )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:175:1: ( rule__PredefTemplate__Group )
            {
             before(grammarAccess.getPredefTemplateAccess().getGroup()); 
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:176:1: ( rule__PredefTemplate__Group )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:176:2: rule__PredefTemplate__Group
            {
            pushFollow(FOLLOW_rule__PredefTemplate__Group_in_rulePredefTemplate332);
            rule__PredefTemplate__Group();
            _fsp--;


            }

             after(grammarAccess.getPredefTemplateAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rulePredefTemplate


    // $ANTLR start entryRulePluginTemplate
    // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:187:1: entryRulePluginTemplate : rulePluginTemplate EOF ;
    public final void entryRulePluginTemplate() throws RecognitionException {
        try {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:187:25: ( rulePluginTemplate EOF )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:188:1: rulePluginTemplate EOF
            {
             before(grammarAccess.getPluginTemplateRule()); 
            pushFollow(FOLLOW_rulePluginTemplate_in_entryRulePluginTemplate357);
            rulePluginTemplate();
            _fsp--;

             after(grammarAccess.getPluginTemplateRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRulePluginTemplate364); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRulePluginTemplate


    // $ANTLR start rulePluginTemplate
    // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:195:1: rulePluginTemplate : ( ( rule__PluginTemplate__Group ) ) ;
    public final void rulePluginTemplate() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:199:2: ( ( ( rule__PluginTemplate__Group ) ) )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:200:1: ( ( rule__PluginTemplate__Group ) )
            {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:200:1: ( ( rule__PluginTemplate__Group ) )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:201:1: ( rule__PluginTemplate__Group )
            {
             before(grammarAccess.getPluginTemplateAccess().getGroup()); 
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:202:1: ( rule__PluginTemplate__Group )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:202:2: rule__PluginTemplate__Group
            {
            pushFollow(FOLLOW_rule__PluginTemplate__Group_in_rulePluginTemplate391);
            rule__PluginTemplate__Group();
            _fsp--;


            }

             after(grammarAccess.getPluginTemplateAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rulePluginTemplate


    // $ANTLR start rule__RecipeBuilderModel__Group
    // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:215:1: rule__RecipeBuilderModel__Group : ( ( ( ruleImport ) )* ) ( ( ( rulePluginImport ) )* ) ( ( ( rulePluginTemplate ) )* ) ( ( ( rulePredefTemplatePackage ) )* ) ( ( ( rulePredefTemplate ) )* ) ;
    public final void rule__RecipeBuilderModel__Group() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:219:1: ( ( ( ( ruleImport ) )* ) ( ( ( rulePluginImport ) )* ) ( ( ( rulePluginTemplate ) )* ) ( ( ( rulePredefTemplatePackage ) )* ) ( ( ( rulePredefTemplate ) )* ) )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:220:1: ( ( ( ruleImport ) )* ) ( ( ( rulePluginImport ) )* ) ( ( ( rulePluginTemplate ) )* ) ( ( ( rulePredefTemplatePackage ) )* ) ( ( ( rulePredefTemplate ) )* )
            {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:220:1: ( ( ( ruleImport ) )* )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:221:1: ( ( ruleImport ) )*
            {
             before(grammarAccess.getRecipeBuilderModelAccess().getImportsAssignment_0()); 
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:222:1: ( ( ruleImport ) )*
            loop1:
            do {
                int alt1=2;
                int LA1_0 = input.LA(1);

                if ( (LA1_0==11) ) {
                    alt1=1;
                }


                switch (alt1) {
            	case 1 :
            	    // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:223:1: ( ruleImport )
            	    {
            	    // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:223:1: ( ruleImport )
            	    // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:224:1: ruleImport
            	    {
            	     before(grammarAccess.getRecipeBuilderModelAccess().getImportsImportParserRuleCall_0_0()); 
            	    pushFollow(FOLLOW_ruleImport_in_rule__RecipeBuilderModel__Group435);
            	    ruleImport();
            	    _fsp--;

            	     after(grammarAccess.getRecipeBuilderModelAccess().getImportsImportParserRuleCall_0_0()); 

            	    }


            	    }
            	    break;

            	default :
            	    break loop1;
                }
            } while (true);

             after(grammarAccess.getRecipeBuilderModelAccess().getImportsAssignment_0()); 

            }

            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:230:1: ( ( ( rulePluginImport ) )* )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:231:1: ( ( rulePluginImport ) )*
            {
             before(grammarAccess.getRecipeBuilderModelAccess().getPluginImportsAssignment_1()); 
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:232:1: ( ( rulePluginImport ) )*
            loop2:
            do {
                int alt2=2;
                int LA2_0 = input.LA(1);

                if ( (LA2_0==12) ) {
                    alt2=1;
                }


                switch (alt2) {
            	case 1 :
            	    // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:233:1: ( rulePluginImport )
            	    {
            	    // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:233:1: ( rulePluginImport )
            	    // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:234:1: rulePluginImport
            	    {
            	     before(grammarAccess.getRecipeBuilderModelAccess().getPluginImportsPluginImportParserRuleCall_1_0()); 
            	    pushFollow(FOLLOW_rulePluginImport_in_rule__RecipeBuilderModel__Group460);
            	    rulePluginImport();
            	    _fsp--;

            	     after(grammarAccess.getRecipeBuilderModelAccess().getPluginImportsPluginImportParserRuleCall_1_0()); 

            	    }


            	    }
            	    break;

            	default :
            	    break loop2;
                }
            } while (true);

             after(grammarAccess.getRecipeBuilderModelAccess().getPluginImportsAssignment_1()); 

            }

            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:240:1: ( ( ( rulePluginTemplate ) )* )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:241:1: ( ( rulePluginTemplate ) )*
            {
             before(grammarAccess.getRecipeBuilderModelAccess().getPluginTemplatesAssignment_2()); 
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:242:1: ( ( rulePluginTemplate ) )*
            loop3:
            do {
                int alt3=2;
                int LA3_0 = input.LA(1);

                if ( (LA3_0==17) ) {
                    alt3=1;
                }


                switch (alt3) {
            	case 1 :
            	    // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:243:1: ( rulePluginTemplate )
            	    {
            	    // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:243:1: ( rulePluginTemplate )
            	    // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:244:1: rulePluginTemplate
            	    {
            	     before(grammarAccess.getRecipeBuilderModelAccess().getPluginTemplatesPluginTemplateParserRuleCall_2_0()); 
            	    pushFollow(FOLLOW_rulePluginTemplate_in_rule__RecipeBuilderModel__Group485);
            	    rulePluginTemplate();
            	    _fsp--;

            	     after(grammarAccess.getRecipeBuilderModelAccess().getPluginTemplatesPluginTemplateParserRuleCall_2_0()); 

            	    }


            	    }
            	    break;

            	default :
            	    break loop3;
                }
            } while (true);

             after(grammarAccess.getRecipeBuilderModelAccess().getPluginTemplatesAssignment_2()); 

            }

            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:250:1: ( ( ( rulePredefTemplatePackage ) )* )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:251:1: ( ( rulePredefTemplatePackage ) )*
            {
             before(grammarAccess.getRecipeBuilderModelAccess().getPredefTemplatePatternsAssignment_3()); 
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:252:1: ( ( rulePredefTemplatePackage ) )*
            loop4:
            do {
                int alt4=2;
                int LA4_0 = input.LA(1);

                if ( (LA4_0==15) ) {
                    alt4=1;
                }


                switch (alt4) {
            	case 1 :
            	    // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:253:1: ( rulePredefTemplatePackage )
            	    {
            	    // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:253:1: ( rulePredefTemplatePackage )
            	    // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:254:1: rulePredefTemplatePackage
            	    {
            	     before(grammarAccess.getRecipeBuilderModelAccess().getPredefTemplatePatternsPredefTemplatePackageParserRuleCall_3_0()); 
            	    pushFollow(FOLLOW_rulePredefTemplatePackage_in_rule__RecipeBuilderModel__Group510);
            	    rulePredefTemplatePackage();
            	    _fsp--;

            	     after(grammarAccess.getRecipeBuilderModelAccess().getPredefTemplatePatternsPredefTemplatePackageParserRuleCall_3_0()); 

            	    }


            	    }
            	    break;

            	default :
            	    break loop4;
                }
            } while (true);

             after(grammarAccess.getRecipeBuilderModelAccess().getPredefTemplatePatternsAssignment_3()); 

            }

            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:260:1: ( ( ( rulePredefTemplate ) )* )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:261:1: ( ( rulePredefTemplate ) )*
            {
             before(grammarAccess.getRecipeBuilderModelAccess().getPredefTemplatesAssignment_4()); 
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:262:1: ( ( rulePredefTemplate ) )*
            loop5:
            do {
                int alt5=2;
                int LA5_0 = input.LA(1);

                if ( (LA5_0==16) ) {
                    alt5=1;
                }


                switch (alt5) {
            	case 1 :
            	    // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:263:1: ( rulePredefTemplate )
            	    {
            	    // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:263:1: ( rulePredefTemplate )
            	    // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:264:1: rulePredefTemplate
            	    {
            	     before(grammarAccess.getRecipeBuilderModelAccess().getPredefTemplatesPredefTemplateParserRuleCall_4_0()); 
            	    pushFollow(FOLLOW_rulePredefTemplate_in_rule__RecipeBuilderModel__Group535);
            	    rulePredefTemplate();
            	    _fsp--;

            	     after(grammarAccess.getRecipeBuilderModelAccess().getPredefTemplatesPredefTemplateParserRuleCall_4_0()); 

            	    }


            	    }
            	    break;

            	default :
            	    break loop5;
                }
            } while (true);

             after(grammarAccess.getRecipeBuilderModelAccess().getPredefTemplatesAssignment_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__RecipeBuilderModel__Group


    // $ANTLR start rule__Import__Group
    // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:276:1: rule__Import__Group : ( 'import' ) ( ( ( RULE_STRING ) ) ) ;
    public final void rule__Import__Group() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:280:1: ( ( 'import' ) ( ( ( RULE_STRING ) ) ) )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:281:1: ( 'import' ) ( ( ( RULE_STRING ) ) )
            {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:281:1: ( 'import' )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:282:1: 'import'
            {
             before(grammarAccess.getImportAccess().getImportKeyword_0()); 
            match(input,11,FOLLOW_11_in_rule__Import__Group575); 
             after(grammarAccess.getImportAccess().getImportKeyword_0()); 

            }

            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:287:1: ( ( ( RULE_STRING ) ) )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:288:1: ( ( RULE_STRING ) )
            {
             before(grammarAccess.getImportAccess().getImportURIAssignment_1()); 
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:289:1: ( ( RULE_STRING ) )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:290:1: ( RULE_STRING )
            {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:290:1: ( RULE_STRING )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:291:1: RULE_STRING
            {
             before(grammarAccess.getImportAccess().getImportURISTRINGTerminalRuleCall_1_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Import__Group594); 
             after(grammarAccess.getImportAccess().getImportURISTRINGTerminalRuleCall_1_0()); 

            }


            }

             after(grammarAccess.getImportAccess().getImportURIAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Import__Group


    // $ANTLR start rule__PluginImport__Group
    // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:303:1: rule__PluginImport__Group : ( 'required-plugin' ) ( ( ( RULE_STRING ) ) ) ( ( rule__PluginImport__Group_2 )? ) ( ( ( ( 're-export' ) ) ) ) ;
    public final void rule__PluginImport__Group() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:307:1: ( ( 'required-plugin' ) ( ( ( RULE_STRING ) ) ) ( ( rule__PluginImport__Group_2 )? ) ( ( ( ( 're-export' ) ) ) ) )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:308:1: ( 'required-plugin' ) ( ( ( RULE_STRING ) ) ) ( ( rule__PluginImport__Group_2 )? ) ( ( ( ( 're-export' ) ) ) )
            {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:308:1: ( 'required-plugin' )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:309:1: 'required-plugin'
            {
             before(grammarAccess.getPluginImportAccess().getRequiredPluginKeyword_0()); 
            match(input,12,FOLLOW_12_in_rule__PluginImport__Group633); 
             after(grammarAccess.getPluginImportAccess().getRequiredPluginKeyword_0()); 

            }

            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:314:1: ( ( ( RULE_STRING ) ) )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:315:1: ( ( RULE_STRING ) )
            {
             before(grammarAccess.getPluginImportAccess().getNameAssignment_1()); 
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:316:1: ( ( RULE_STRING ) )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:317:1: ( RULE_STRING )
            {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:317:1: ( RULE_STRING )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:318:1: RULE_STRING
            {
             before(grammarAccess.getPluginImportAccess().getNameSTRINGTerminalRuleCall_1_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__PluginImport__Group652); 
             after(grammarAccess.getPluginImportAccess().getNameSTRINGTerminalRuleCall_1_0()); 

            }


            }

             after(grammarAccess.getPluginImportAccess().getNameAssignment_1()); 

            }

            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:324:1: ( ( rule__PluginImport__Group_2 )? )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:325:1: ( rule__PluginImport__Group_2 )?
            {
             before(grammarAccess.getPluginImportAccess().getGroup_2()); 
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:326:1: ( rule__PluginImport__Group_2 )?
            int alt6=2;
            int LA6_0 = input.LA(1);

            if ( (LA6_0==14) ) {
                alt6=1;
            }
            switch (alt6) {
                case 1 :
                    // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:326:2: rule__PluginImport__Group_2
                    {
                    pushFollow(FOLLOW_rule__PluginImport__Group_2_in_rule__PluginImport__Group669);
                    rule__PluginImport__Group_2();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getPluginImportAccess().getGroup_2()); 

            }

            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:328:1: ( ( ( ( 're-export' ) ) ) )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:329:1: ( ( ( 're-export' ) ) )
            {
             before(grammarAccess.getPluginImportAccess().getReExportAssignment_3()); 
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:330:1: ( ( ( 're-export' ) ) )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:331:1: ( ( 're-export' ) )
            {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:331:1: ( ( 're-export' ) )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:332:1: ( 're-export' )
            {
             before(grammarAccess.getPluginImportAccess().getReExportReExportKeyword_3_0()); 
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:333:1: ( 're-export' )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:334:1: 're-export'
            {
             before(grammarAccess.getPluginImportAccess().getReExportReExportKeyword_3_0()); 
            match(input,13,FOLLOW_13_in_rule__PluginImport__Group693); 
             after(grammarAccess.getPluginImportAccess().getReExportReExportKeyword_3_0()); 

            }

             after(grammarAccess.getPluginImportAccess().getReExportReExportKeyword_3_0()); 

            }


            }

             after(grammarAccess.getPluginImportAccess().getReExportAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PluginImport__Group


    // $ANTLR start rule__PluginImport__Group_2
    // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:351:1: rule__PluginImport__Group_2 : ( 'version' ) ( ( ( RULE_STRING ) ) ) ;
    public final void rule__PluginImport__Group_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:355:1: ( ( 'version' ) ( ( ( RULE_STRING ) ) ) )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:356:1: ( 'version' ) ( ( ( RULE_STRING ) ) )
            {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:356:1: ( 'version' )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:357:1: 'version'
            {
             before(grammarAccess.getPluginImportAccess().getVersionKeyword_2_0()); 
            match(input,14,FOLLOW_14_in_rule__PluginImport__Group_2739); 
             after(grammarAccess.getPluginImportAccess().getVersionKeyword_2_0()); 

            }

            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:362:1: ( ( ( RULE_STRING ) ) )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:363:1: ( ( RULE_STRING ) )
            {
             before(grammarAccess.getPluginImportAccess().getVersionAssignment_2_1()); 
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:364:1: ( ( RULE_STRING ) )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:365:1: ( RULE_STRING )
            {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:365:1: ( RULE_STRING )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:366:1: RULE_STRING
            {
             before(grammarAccess.getPluginImportAccess().getVersionSTRINGTerminalRuleCall_2_1_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__PluginImport__Group_2758); 
             after(grammarAccess.getPluginImportAccess().getVersionSTRINGTerminalRuleCall_2_1_0()); 

            }


            }

             after(grammarAccess.getPluginImportAccess().getVersionAssignment_2_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PluginImport__Group_2


    // $ANTLR start rule__PredefTemplatePackage__Group
    // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:378:1: rule__PredefTemplatePackage__Group : ( 'predefs-template-package' ) ( ( ( RULE_ID ) ) ) ( ( ( RULE_STRING ) ) ) ;
    public final void rule__PredefTemplatePackage__Group() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:382:1: ( ( 'predefs-template-package' ) ( ( ( RULE_ID ) ) ) ( ( ( RULE_STRING ) ) ) )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:383:1: ( 'predefs-template-package' ) ( ( ( RULE_ID ) ) ) ( ( ( RULE_STRING ) ) )
            {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:383:1: ( 'predefs-template-package' )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:384:1: 'predefs-template-package'
            {
             before(grammarAccess.getPredefTemplatePackageAccess().getPredefsTemplatePackageKeyword_0()); 
            match(input,15,FOLLOW_15_in_rule__PredefTemplatePackage__Group797); 
             after(grammarAccess.getPredefTemplatePackageAccess().getPredefsTemplatePackageKeyword_0()); 

            }

            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:389:1: ( ( ( RULE_ID ) ) )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:390:1: ( ( RULE_ID ) )
            {
             before(grammarAccess.getPredefTemplatePackageAccess().getNameAssignment_1()); 
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:391:1: ( ( RULE_ID ) )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:392:1: ( RULE_ID )
            {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:392:1: ( RULE_ID )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:393:1: RULE_ID
            {
             before(grammarAccess.getPredefTemplatePackageAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__PredefTemplatePackage__Group816); 
             after(grammarAccess.getPredefTemplatePackageAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

             after(grammarAccess.getPredefTemplatePackageAccess().getNameAssignment_1()); 

            }

            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:399:1: ( ( ( RULE_STRING ) ) )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:400:1: ( ( RULE_STRING ) )
            {
             before(grammarAccess.getPredefTemplatePackageAccess().getTemplatePackageAssignment_2()); 
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:401:1: ( ( RULE_STRING ) )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:402:1: ( RULE_STRING )
            {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:402:1: ( RULE_STRING )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:403:1: RULE_STRING
            {
             before(grammarAccess.getPredefTemplatePackageAccess().getTemplatePackageSTRINGTerminalRuleCall_2_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__PredefTemplatePackage__Group840); 
             after(grammarAccess.getPredefTemplatePackageAccess().getTemplatePackageSTRINGTerminalRuleCall_2_0()); 

            }


            }

             after(grammarAccess.getPredefTemplatePackageAccess().getTemplatePackageAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PredefTemplatePackage__Group


    // $ANTLR start rule__PredefTemplate__Group
    // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:415:1: rule__PredefTemplate__Group : ( 'predef-template' ) ( ( ( RULE_ID ) ) ) ( ( ( RULE_STRING ) ) ) ;
    public final void rule__PredefTemplate__Group() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:419:1: ( ( 'predef-template' ) ( ( ( RULE_ID ) ) ) ( ( ( RULE_STRING ) ) ) )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:420:1: ( 'predef-template' ) ( ( ( RULE_ID ) ) ) ( ( ( RULE_STRING ) ) )
            {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:420:1: ( 'predef-template' )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:421:1: 'predef-template'
            {
             before(grammarAccess.getPredefTemplateAccess().getPredefTemplateKeyword_0()); 
            match(input,16,FOLLOW_16_in_rule__PredefTemplate__Group879); 
             after(grammarAccess.getPredefTemplateAccess().getPredefTemplateKeyword_0()); 

            }

            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:426:1: ( ( ( RULE_ID ) ) )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:427:1: ( ( RULE_ID ) )
            {
             before(grammarAccess.getPredefTemplateAccess().getNameAssignment_1()); 
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:428:1: ( ( RULE_ID ) )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:429:1: ( RULE_ID )
            {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:429:1: ( RULE_ID )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:430:1: RULE_ID
            {
             before(grammarAccess.getPredefTemplateAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__PredefTemplate__Group898); 
             after(grammarAccess.getPredefTemplateAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

             after(grammarAccess.getPredefTemplateAccess().getNameAssignment_1()); 

            }

            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:436:1: ( ( ( RULE_STRING ) ) )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:437:1: ( ( RULE_STRING ) )
            {
             before(grammarAccess.getPredefTemplateAccess().getTemplateAssignment_2()); 
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:438:1: ( ( RULE_STRING ) )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:439:1: ( RULE_STRING )
            {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:439:1: ( RULE_STRING )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:440:1: RULE_STRING
            {
             before(grammarAccess.getPredefTemplateAccess().getTemplateSTRINGTerminalRuleCall_2_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__PredefTemplate__Group922); 
             after(grammarAccess.getPredefTemplateAccess().getTemplateSTRINGTerminalRuleCall_2_0()); 

            }


            }

             after(grammarAccess.getPredefTemplateAccess().getTemplateAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PredefTemplate__Group


    // $ANTLR start rule__PluginTemplate__Group
    // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:452:1: rule__PluginTemplate__Group : ( 'plugin-template' ) ( ( ( RULE_STRING ) ) ) ;
    public final void rule__PluginTemplate__Group() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:456:1: ( ( 'plugin-template' ) ( ( ( RULE_STRING ) ) ) )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:457:1: ( 'plugin-template' ) ( ( ( RULE_STRING ) ) )
            {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:457:1: ( 'plugin-template' )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:458:1: 'plugin-template'
            {
             before(grammarAccess.getPluginTemplateAccess().getPluginTemplateKeyword_0()); 
            match(input,17,FOLLOW_17_in_rule__PluginTemplate__Group961); 
             after(grammarAccess.getPluginTemplateAccess().getPluginTemplateKeyword_0()); 

            }

            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:463:1: ( ( ( RULE_STRING ) ) )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:464:1: ( ( RULE_STRING ) )
            {
             before(grammarAccess.getPluginTemplateAccess().getTemplateAssignment_1()); 
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:465:1: ( ( RULE_STRING ) )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:466:1: ( RULE_STRING )
            {
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:466:1: ( RULE_STRING )
            // ../org.openarchitectureware.recipe2.dsl.builder.ui/src-gen/org/openarchitectureware/recipe2/dsl/contentassist/antlr/internal/InternalRecipeBuilder.g:467:1: RULE_STRING
            {
             before(grammarAccess.getPluginTemplateAccess().getTemplateSTRINGTerminalRuleCall_1_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__PluginTemplate__Group980); 
             after(grammarAccess.getPluginTemplateAccess().getTemplateSTRINGTerminalRuleCall_1_0()); 

            }


            }

             after(grammarAccess.getPluginTemplateAccess().getTemplateAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PluginTemplate__Group


 

    public static final BitSet FOLLOW_ruleRecipeBuilderModel_in_entryRuleRecipeBuilderModel60 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleRecipeBuilderModel67 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RecipeBuilderModel__Group_in_ruleRecipeBuilderModel94 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleImport_in_entryRuleImport119 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleImport126 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Import__Group_in_ruleImport153 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePluginImport_in_entryRulePluginImport178 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRulePluginImport185 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__PluginImport__Group_in_rulePluginImport212 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePredefTemplatePackage_in_entryRulePredefTemplatePackage237 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRulePredefTemplatePackage244 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__PredefTemplatePackage__Group_in_rulePredefTemplatePackage271 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePredefTemplate_in_entryRulePredefTemplate298 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRulePredefTemplate305 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__PredefTemplate__Group_in_rulePredefTemplate332 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePluginTemplate_in_entryRulePluginTemplate357 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRulePluginTemplate364 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__PluginTemplate__Group_in_rulePluginTemplate391 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleImport_in_rule__RecipeBuilderModel__Group435 = new BitSet(new long[]{0x0000000000039802L});
    public static final BitSet FOLLOW_rulePluginImport_in_rule__RecipeBuilderModel__Group460 = new BitSet(new long[]{0x0000000000039002L});
    public static final BitSet FOLLOW_rulePluginTemplate_in_rule__RecipeBuilderModel__Group485 = new BitSet(new long[]{0x0000000000038002L});
    public static final BitSet FOLLOW_rulePredefTemplatePackage_in_rule__RecipeBuilderModel__Group510 = new BitSet(new long[]{0x0000000000018002L});
    public static final BitSet FOLLOW_rulePredefTemplate_in_rule__RecipeBuilderModel__Group535 = new BitSet(new long[]{0x0000000000010002L});
    public static final BitSet FOLLOW_11_in_rule__Import__Group575 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Import__Group594 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_12_in_rule__PluginImport__Group633 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__PluginImport__Group652 = new BitSet(new long[]{0x0000000000006000L});
    public static final BitSet FOLLOW_rule__PluginImport__Group_2_in_rule__PluginImport__Group669 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_13_in_rule__PluginImport__Group693 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_14_in_rule__PluginImport__Group_2739 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__PluginImport__Group_2758 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__PredefTemplatePackage__Group797 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__PredefTemplatePackage__Group816 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__PredefTemplatePackage__Group840 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__PredefTemplate__Group879 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__PredefTemplate__Group898 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__PredefTemplate__Group922 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_17_in_rule__PluginTemplate__Group961 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__PluginTemplate__Group980 = new BitSet(new long[]{0x0000000000000002L});

}